package com.chunlin.lambda;

//要了解Lambda表达式,首先需要了解什么是函数式接口，函数式接口定义：一个接口有且只有一个抽象方法 。
//注意：
//1. 如果一个接口只有一个抽象方法，那么该接口就是一个函数式接口
//2. 如果我们在某个接口上声明了 @FunctionalInterface 注解，那么编译器就会按照函数式接口的定义来要求该接口
// 这样如果有两个抽象方法，程序编译就会报错的
// 所以，从某种意义上来说，只要你保证你的接口中只有一个抽象方法，你可以不加这个注解。加上就会自动进行检测的

//无返回值无参数
@FunctionalInterface
public interface NoParameterNoReturn {
    //注意：只能有一个抽象方法
    void test();

    default void test2() {
        System.out.println("JDK1.8新特性，default默认方法可以有具体的实现");
    }
}
